# Author: lvin

# 回顾
names_str = "Alex,Marry,Jack"
names_list = ["Alex,Marry,Jack"]

print(names_str[0])   # 字符串，无法确定名字长度 用切片的复杂操作
print(names_list[0])  # 用 index 索引 操作


# 本周重点： list 的方法
# 思考：对于一个列序数据，我们可以做什么操作?
# 1.取值：切片
# 2.新增数据 stu_网新1班 = [....]


names = ["Mike","Mary","Jan","Jack"]
# 2.1 append() 括号内的内容是 对象（比较大的一个范围，python中一切皆是对象）
#     append() 新增在末尾
names.append("m")
print(names)

# 2.2 insert() 插入数据：指定位置新增数据
names.insert(1,"uin")
print(names)

# 删除
# 3.1 remove() 的操作应该是先判断，判断元素value是否存在！若不存在，会出现报错的情况
names.remove("Mike")
print(names)
# 报错情况：LL 不在 names 中
# names.remove("LL")
# print(names)

# * 先做查询：seq 的一般方法（通用方法）
print("LL" in names) # False-不在/True-在

# username = input("names:")
# if username in names:
#     # 删除该用户
#     names.remove(username)
# else:
#     names.append(username)
# print(names)

# 3.2 pop()
names.pop(2)
# 如果 pop 括号内不填，则删除末尾
# 在使用 pop 之前 要先了解 list 的长度，清楚删除的索引位置
# 了解 list 的长度 seq 的一般方法 len()
print(len(names))
# 清楚删除的索引位置
print(names.index("m"))

# 经典案例： 删除一些具有特征的索引值
for i in range(0,len(names)-1,2):
    names.pop(i)
print(names)

